// 单选按钮
package main

import (
	"fmt"

	app "gitee.com/go_888/xcgui/xcgui/app"
	widget "gitee.com/go_888/xcgui/xcgui/widget"
	window "gitee.com/go_888/xcgui/xcgui/window"
	xc "gitee.com/go_888/xcgui/xcgui/xc"
	xcc "gitee.com/go_888/xcgui/xcgui/xcc"
)

func main() {
	a := app.X创建(true)
	a.X启用DPI(true)
	a.X启用自动DPI(true)
	w := window.X创建窗口(0, 0, 430, 300, "单选按钮", 0, xcc.X窗口样式_默认样式)

	// 创建按钮
	Radio1 := widget.X创建按钮(10, 35, 70, 30, "Radio1", w.X句柄)
	Radio2 := widget.X创建按钮(10, 75, 70, 30, "Radio2", w.X句柄)
	Radio3 := widget.X创建按钮(10, 115, 70, 30, "Radio3", w.X句柄)

	// 设置按钮类型
	Radio1.X设置类型EX(xcc.X对象扩展类型_单选按钮)
	Radio2.X设置类型EX(xcc.X对象扩展类型_单选按钮)
	Radio3.X设置类型EX(xcc.X对象扩展类型_单选按钮)

	// 设置背景透明
	Radio1.X启用背景透明(true)
	Radio2.X启用背景透明(true)
	Radio3.X启用背景透明(true)

	// 设置分组id
	Radio1.X设置组ID(1)
	Radio2.X设置组ID(1)
	Radio3.X设置组ID(1)

	// 设置选中
	Radio1.X设置选中(true)

	// 注册事件_按钮被选中
	Radio1.X事件_选中1(btn_check)
	Radio2.X事件_选中1(btn_check)
	Radio3.X事件_选中1(btn_check)

	w.X显示方式(xcc.SW_SHOW)
	a.X运行()
	a.X退出()
}

// 事件_按钮被选中
func btn_check(hEle int, bCheck bool, pbHandled *bool) int {
	if bCheck {
		fmt.Println(xc.X按钮_取文本(hEle), "selected")
	}
	return 0
}
